import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
// import app from './modules/app'
// import settings from './modules/settings'
// import user from './modules/user'

// console.dir(require.context('./modules', true, /.js$/).keys())
// 第一个参数是要找modules文件夹下的文件
// 第二个参数 是 布尔值 true 是否继续向（modules文件夹）下的文件夹继续查找
// 第三个参数 是 正则表达式 /.js$/ 找文件名以 .js 结尾的文件
// 这个方法返回的是一个数组

// 用变量接收这个数组

// const modulearr = require.context('./modules', true, /.js$/).keys()

// // modulearr.reduce((x, y) => {
// //   console.log(x, y)
// //   // x是用来接收的值
// //   console.log(y.replace(/.js$/, ''))
// //   // y是每一个文件名
// //   console.log(y.replace(/.js$/, '').split('./')[1])
// // })
// const arr = []
// modulearr.forEach(item => {
//   // console.log(item)
//   // console.log(item.replace(/.js/, ''))

//   arr.push(item.replace(/.js/, ''))
//   console.log(arr)
// })

const modulesFiles = require.context('./modules', true, /.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^.\/(.*)\.js/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})

Vue.use(Vuex)

const store = new Vuex.Store({
  // modules: {
  //   app,
  //   settings,
  //   user
  // },
  modules,
  getters
})

export default store
